package psrc.logic.pages.cliente;

import psrc.logic.pages.base.ControllerBase;
import psrc.logic.util.Validador;
import psrc.logic.util.beans.ClienteBean;

public class SendClienteInsertController extends ControllerBase {

	private static final long serialVersionUID = 1L;

	private String razaoSocial;
	private String nomeFantasia;
	private String logradouro;
	private String numero;
	private String complemento;
	private String bairro;
	private String cidade;
	private String estado;
	private String cep;
	private String cnpj;
	private String inscricaoEstadual;
	private String telefone1;
	private String telefone2;
	private String email;
	private String comprador;

	public String getNomeFantasia() {
		return nomeFantasia;
	}

	public void setNomeFantasia(String nomeFantasia) {
		this.nomeFantasia = nomeFantasia;
	}

	public String getLogradouro() {
		return logradouro;
	}

	public void setLogradouro(String logradouro) {
		this.logradouro = logradouro;
	}

	public String getNumero() {
		return numero;
	}

	public void setNumero(String numero) {
		this.numero = numero;
	}

	public String getComplemento() {
		return complemento;
	}

	public void setComplemento(String complemento) {
		this.complemento = complemento;
	}

	public String getBairro() {
		return bairro;
	}

	public void setBairro(String bairro) {
		this.bairro = bairro;
	}

	public String getCidade() {
		return cidade;
	}

	public void setCidade(String cidade) {
		this.cidade = cidade;
	}

	public String getEstado() {
		return estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}

	public String getCep() {
		return cep;
	}

	public void setCep(String cep) {
		this.cep = cep;
	}

	public String getCnpj() {
		return cnpj;
	}

	public void setCnpj(String cnpj) {
		this.cnpj = cnpj;
	}

	public String getInscricaoEstadual() {
		return inscricaoEstadual;
	}

	public void setInscricaoEstadual(String inscricaoEstadual) {
		this.inscricaoEstadual = inscricaoEstadual;
	}

	public String getTelefone1() {
		return telefone1;
	}

	public void setTelefone1(String telefone1) {
		this.telefone1 = telefone1;
	}

	public String getTelefone2() {
		return telefone2;
	}

	public void setTelefone2(String telefone2) {
		this.telefone2 = telefone2;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getComprador() {
		return comprador;
	}

	public void setComprador(String comprador) {
		this.comprador = comprador;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	public String getRazaoSocial() {
		return razaoSocial;
	}

	public void setRazaoSocial(String razaoSocial) {
		this.razaoSocial = razaoSocial;
	}

	@Override
	public String executeController() throws Exception {
		if (validar()) {
			ClienteBean bean = new ClienteBean();
			bean.setBairro(bairro);
			bean.setCep(cep);
			bean.setCidade(cidade);
			bean.setCnpj(cnpj);
			bean.setComplemento(complemento);
			bean.setComprador(comprador);
			bean.setEmail(email);
			bean.setEstado(estado);
			bean.setLogradouro(logradouro);
			bean.setNomeFantasia(nomeFantasia);
			bean.setNumero(numero);
			bean.setRazaoSocial(razaoSocial);
			bean.setTelefone1(telefone1);
			bean.setTelefone2(telefone2);
			bean.setEmail(email);
			bean.setComprador(comprador);
			bean.setInscricaoEstadual(inscricaoEstadual);
			
			if (new ClienteModel().insert(bean)) {
				addActionMessage(getText("cliente.successful"));
			}
			return SUCCESS;
		} else {
			addActionError(getText("cliente.error.incomplete"));
			return ERROR;
		}
	}

	private boolean validar() {
		boolean retorno = true;

		if (!Validador.validateName(razaoSocial, null, true))
			retorno = false;
		if (!Validador.validateName(nomeFantasia, null, true))
			retorno = false;
		if (!Validador.validateName(logradouro, null, true))
			retorno = false;
		if (!Validador.validateNumber(numero, true))
			retorno = false;
		if (!Validador.validateName(complemento, null, false))
			retorno = false;
		if (!Validador.validateName(bairro, null, true))
			retorno = false;
		if (!Validador.validateName(cidade, null, true))
			retorno = false;
		if (!Validador.validateName(estado, null, true))
			retorno = false;
		if (!Validador.validateNumber(cep, true))
			retorno = false;
		if (!Validador.validateCNPJ(cnpj, true))
			retorno = false;
		if (!Validador.validateName(inscricaoEstadual, null, true))
			retorno = false;
		if (!Validador.validateTelNumber(telefone1, true))
			retorno = false;
		if (!Validador.validateTelNumber(telefone2, false))
			retorno = false;
		if (!Validador.validateEmail(email, true))
			retorno = false;
		if (!Validador.validateName(comprador, null, true))
			retorno = false;
		return retorno;
	}
}
